import numpy as np

# 没有复制数组（用同一数组）
a = np.arange(12)
b = a
print(b is a)
# 对形状属性赋值可以直接用多个数字3，4  或元组（3，4）
b.shape = (3,4)
print(b)
print(a.shape)

# 浅拷贝 数据会相互影响（是公用的），形状可以不同
c = a.view()
print(c is a)
print(c.base is a)
c.shape = (2,6)
print(c)
print(a.shape)
c[0][0] = 99
print(a)

# 切片的数据也是浅拷贝
s = a[3:5]
print(s)
# 切片方式对数组赋值
s[:] = 88
print(a)

a = np.arange(12)
# 深度拷贝 两份独立的数组
d = a.copy()
print(d is a)
print(d.base is a)
del a
d[4:6] = 100
print(d)